#ifndef __DATASTRUCT_H__
#define __DATASTRUCT_H__

#include <string>
#include <map>
#include <ctime>

namespace tally
{

struct ClientInfo
{
    int             m_socketFd;
    char            m_addr[32];
    short           m_port;
};

/**
 * 注册信息
*/
struct ReginstInfo
{
    char            name[64];
    char            passwd[32];
    char            phone[11];
    char            email[64];
};

/**
 * 登录信息
*/
struct LoginInfo
{
    char            name[64];
    char            passwd[32];
};

enum class TallyType: char
{
    TT_INCOME,      // 收入
    TT_EXPEND       // 支出
};

/**
 * 收支信息
*/
struct TallyInfo
{
    TallyType       type;       // 记录类型
    float           money;      // 记录金额
    char            account[64];// 账户类型，现金、xx 银行卡、微信、支付宝...
    char            useage[128];// 收支用途：吃饭、买衣服、买零食、医疗、电子产品...
    time_t          time;       // 收支时间
};


enum class RequestType: char
{
    RT_REGIST,      // 注册
    RT_LOGIN,       // 登录
    RT_RECORD       // 信息记录
};


/**
 * 请求返回结果
*/
struct ReturnResult
{
    RequestType     type;       // 数据类型
    bool            result;     // 结果，成功：true，失败：false
    char            info[128];
};



}

#endif //__DATASTRUCT_H__